class DataSize {
  static String formatFileSize(int bytes, [int decimals = 2]) {
    const List<String> units = ['B', 'KB', 'MB', 'GB', 'TB'];
    double size = bytes.toDouble();
    int unitIndex = 0;
    // 只要当前单位大于等于1024，就转到更高的单位
    while (size >= 1024 && unitIndex < units.length - 1) {
      size /= 1024;
      unitIndex++;
    }
    // 如果单位值小于1，则回退一个单位（比如 0.5MB => 512KB）
    if (size < 1 && unitIndex > 0) {
      size *= 1024;
      unitIndex--;
    }
    return "${size.toStringAsFixed(decimals)} ${units[unitIndex]}";
  }
}
